package com.ruoyi.htgl.htbg.mapper;

import java.util.List;
import com.ruoyi.htgl.htbg.domain.HtglHtbg;
import com.ruoyi.htgl.htbg.domain.HtglHtbgFj;
import com.ruoyi.htgl.htbg.domain.HtglHtbgZcry;

/**
 * 合同变更Mapper接口
 *
 * @author huacai
 * @date 2024-07-25
 */
public interface HtglHtbgMapper
{
    /**
     * 查询合同变更
     *
     * @param htbgId 合同变更主键
     * @return 合同变更
     */
    public HtglHtbg selectHtglHtbgByHtbgId(String htbgId);

    /**
     * 查询合同变更列表
     *
     * @param htglHtbg 合同变更
     * @return 合同变更集合
     */
    public List<HtglHtbg> selectHtglHtbgList(HtglHtbg htglHtbg);

    /**
     * 新增合同变更
     *
     * @param htglHtbg 合同变更
     * @return 结果
     */
    public int insertHtglHtbg(HtglHtbg htglHtbg);

    /**
     * 修改合同变更
     *
     * @param htglHtbg 合同变更
     * @return 结果
     */
    public int updateHtglHtbg(HtglHtbg htglHtbg);

    /**
     * 删除合同变更
     *
     * @param htbgId 合同变更主键
     * @return 结果
     */
    public int deleteHtglHtbgByHtbgId(String htbgId);

    /**
     * 批量删除合同变更
     *
     * @param htbgIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHtglHtbgByHtbgIds(String[] htbgIds);

    /**
     * 批量删除合同变更附件
     *
     * @param htbgIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHtglHtbgFjByHtbgIds(String[] htbgIds);

    /**
     * 批量新增合同变更附件
     *
     * @param htglHtbgFjList 合同变更附件列表
     * @return 结果
     */
    public int batchHtglHtbgFj(List<HtglHtbgFj> htglHtbgFjList);


    /**
     * 通过合同变更主键删除合同变更附件信息
     *
     * @param htbgId 合同变更ID
     * @return 结果
     */
    public int deleteHtglHtbgFjByHtbgId(String htbgId);

    /**
     * 新增附件
     * @param htglHtbgFj
     * @return
     */
    int insertHtbgFjByHtbgId(HtglHtbgFj htglHtbgFj);

    /**
     * 根据ID查询附件列表
     * @param htglHtbgFj
     * @return
     */
    List<HtglHtbgFj> selectHtbgFjList(HtglHtbgFj htglHtbgFj);

    /**
     * 批量删除变更课题组成人员情况
     *
     * @param htbgIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHtglHtbgZcryByHtbgIds(String[] htbgIds);

    /**
     * 批量新增变更课题组成人员情况
     *
     * @param htglHtbgZcryList 变更课题组成人员情况列表
     * @return 结果
     */
    public int batchHtglHtbgZcry(List<HtglHtbgZcry> htglHtbgZcryList);


    /**
     * 通过合同变更主键删除变更课题组成人员情况信息
     *
     * @param htbgId 合同变更ID
     * @return 结果
     */
    public int deleteHtglHtbgZcryByHtbgId(String htbgId);

    /**
     * 获取合同变更与组成人员详细信息
     * @param htbgId
     * @return
     */
    HtglHtbg selectHtglHtbgZcryByHtbgId(String htbgId);

    /**
     * 批量删除合同变更附件
     *
     * @param fjIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHtglHtbgFjByFjIds(Integer[] fjIds);
}
